Skip to content

Conversation

@Hepolise
Copy link
Owner

  • Replace ContentProvider-based hook status tracking with system properties
    and remote preferences for more reliable detection
  • Add BootReceiver to handle BOOT_COMPLETED events and track boot state
  • Implement BootViewModel and BootRepository to manage boot completion state
  • Add StatusSysPropsHelper for system property-based status tracking
  • Use RemotePreferences for cross-process preference access
  • Refactor package structure: move viewmodels to dedicated package
  • Add loading states and better error handling in SettingsActivity
  • Add LSPosedLogger for better debugging
  • Update dependencies to include RemotePreferences library

Key changes:

  • Module status now persists across reboots using system properties
  • More reliable detection of whether module is active
  • Better handling of boot completion events
  • Improved user experience with loading states
  • Reduced dependency on ContentProvider which was less reliable

…tatus communication

- Remove HookBroadcastReceiver and its broadcast-based communication
- Add HookStatusProvider as a content provider for secure cross-process communication
- Add HookNotifier utility class to handle content provider interactions
- Update Constants to reflect new method names (SET_HOOKED, INCREMENT_LAUNCH_COUNT)
- Update AndroidManifest.xml to register the content provider instead of broadcast receiver
- Update VolumeKeyControlModuleHandlers to use HookNotifier instead of direct broadcasts
- Replace ContentProvider-based hook status tracking with system properties
  and remote preferences for more reliable detection
- Add BootReceiver to handle BOOT_COMPLETED events and track boot state
- Implement BootViewModel and BootRepository to manage boot completion state
- Add StatusSysPropsHelper for system property-based status tracking
- Use RemotePreferences for cross-process preference access
- Refactor package structure: move viewmodels to dedicated package
- Add loading states and better error handling in SettingsActivity
- Add LSPosedLogger for better debugging
- Update dependencies to include RemotePreferences library

Key changes:
- Module status now persists across reboots using system properties
- More reliable detection of whether module is active
- Better handling of boot completion events
- Improved user experience with loading states
- Reduced dependency on ContentProvider which was less reliable
- Add utility to check if app was installed after system reboot
- Update SettingsScreen to show proper module status for fresh installations
- Only show loading animation and error states when settings are initialized
- Restructure module status display to handle post-reboot installation case
- Show module init error when app is installed after reboot
- Improve loading state handling during module initialization
**Changes:**
- Added `setBootCompleted()` to persist boot time
- Changed boot check to poll for hook detection (1s intervals, 60 attempts)
- Only show module error when boot completed AND hook not detected
- Improved boot detection logging
- Wrap RemotePrefsHelper usage in runCatching block
- Prevents crashes during long-press volume key actions
@Hepolise Hepolise merged commit d4b4f62 into main Oct 26, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant